//池化技术  以空间换时间
//C++类内创建线程  原生线程

#include<iostream>
#include<ctime>
#include"ThreadPool.hpp"
#include"Task.hpp"

int main()
{
    //先创建一个线程池，线程的个数为5
    ThreadPool<Task> *tp=new ThreadPool<Task>(5);
    tp->Start();//启动线程池
    srand(time(nullptr) ^ getpid());  //获取随机数

    while(true)
    {
        //1.构建任务
        int x=rand()%10+1;
        usleep(10);
        int y=rand()%5;
        char op=opers[rand()%opers.size()];

        Task t(x,y,op);
        tp->Push(t);

        //2.交给线程池处理
        std::cout<<"main thread make task..."<<std::endl;

        sleep(1);
    }

    return 0;
}